package com.dp.system.mapper;

import java.util.List;
import com.dp.system.domain.SysTemperature;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 温度记录Mapper接口
 *
 * @author ruoyi
 * @date 2025-02-10
 */
@Mapper
public interface SysTemperatureMapper
{
    /**
     * 查询温度记录
     *
     * @param temperatureId 温度记录主键
     * @return 温度记录
     */
    public SysTemperature selectSysTemperatureByTemperatureId(Long temperatureId);

    /**
     * 查询温度记录列表
     *
     * @param sysTemperature 温度记录
     * @return 温度记录集合
     */
    public List<SysTemperature> selectSysTemperatureList(SysTemperature sysTemperature);

    /**
     * 新增温度记录
     *
     * @param sysTemperature 温度记录
     * @return 结果
     */
    public int insertSysTemperature(SysTemperature sysTemperature);

    /**
     * 修改温度记录
     *
     * @param sysTemperature 温度记录
     * @return 结果
     */
    public int updateSysTemperature(SysTemperature sysTemperature);

    /**
     * 删除温度记录
     *
     * @param temperatureId 温度记录主键
     * @return 结果
     */
    public int deleteSysTemperatureByTemperatureId(Long temperatureId);

    /**
     * 批量删除温度记录
     *
     * @param temperatureIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysTemperatureByTemperatureIds(@Param("list") Long[] temperatureIds);

    /**
     * 批量删除温度记录
     *
     * @param temperatureIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysTemperatureByGreenhouseIds(@Param("list") Long[] temperatureIds);

    /**
     * 批量新增温度记录
     *
     * @param sysTemperatureList 温度记录列表
     * @return 结果
     */
    public int batchSysTemperature(@Param("list") List<SysTemperature> sysTemperatureList);


    /**
     * 通过温度记录主键删除温度记录信息
     *
     * @param temperatureId 温度记录ID
     * @return 结果
     */
    public int deleteSysTemperatureByGreenhouseId(Long temperatureId);

    List<SysTemperature> getTemperatureHistoryData();

    /**
     * 查询各个大棚的实时温度数据
     * @return 大棚温度数据列表
     */
    List<SysTemperature> selectRealTimeTemperatureData();
    // com.dp.system.mapper.SysTemperatureMapper
    List<SysTemperature> selectRealTimeTemperatureDataWithName();
}